package com.fowo.api.model.tmp.fbm.refund.orders;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/** FBM退货订单临时表 导入导出辅助模型 */
@Getter
@Setter
public class TmpFbmRefundOrdersExcelPo {

  @Size(max = 50, message = "亚马逊订单id长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "亚马逊订单id")
  private String orderId;

  @Size(max = 50, message = "订购时间长度不能超过20")
  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "订购时间")
  private java.util.Date orderDate;

  @Size(max = 50, message = "退货时间长度不能超过20")
  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "退货时间")
  private java.util.Date returnRequestDate;

  @Size(max = 50, message = "退货状态长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "退货状态")
  private String returnRequestStatus;

  @Size(max = 50, message = "RMA单号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "RMA单号")
  private String amazonRmaId;

  @Size(max = 50, message = "店铺RMA单号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "店铺RMA单号")
  private String merchantRmaId;

  @Size(max = 50, message = "标签类型长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "标签类型")
  private String labelType;

  @Size(max = 50, message = "标签费用长度不能超过20")
  @ExcelProperty(value = "标签费用")
  private java.math.BigDecimal labelCost;

  @Size(max = 50, message = "币种长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "币种")
  private String currencyCode;

  @Size(max = 50, message = "承运商长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "承运商")
  private String returnCarrier;

  @Size(max = 50, message = "运单号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "运单号")
  private String trackingId;

  @Size(max = 50, message = "标签支付方长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "标签支付方")
  private String labelToBePaidBy;

  @Size(max = 50, message = "A-to-Z标签, N代表否，Y代表是长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "A-to-Z标签, N代表否，Y代表是")
  private String aToZClaim;

  @Size(max = 50, message = "Prime标签, N代表否，Y代表是长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "Prime标签, N代表否，Y代表是")
  private String isPrime;

  @Size(max = 50, message = "ASIN长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "ASIN")
  private String asin;

  @Size(max = 50, message = "MSKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "MSKU")
  private String merchantSku;

  @Size(max = 50, message = "标题长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "标题")
  private String itemName;

  @Size(max = 50, message = "退货数量长度不能超过20")
  @ExcelProperty(value = "退货数量")
  private Integer returnQuantity;

  @Size(max = 50, message = "退货原因长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "退货原因")
  private String returnReason;

  @Size(max = 50, message = "是否符合政策：N代表否，Y代表是长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "是否符合政策：N代表否，Y代表是")
  private String inPolicy;

  @Size(max = 50, message = "退货类型长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "退货类型")
  private String returnType;

  @Size(max = 50, message = "解决方法长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "解决方法")
  private String resolution;

  @Size(max = 50, message = "发票号码长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "发票号码")
  private String invoiceNumber;

  @Size(max = 50, message = "退货送达日期长度不能超过20")
  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "退货送达日期")
  private java.util.Date returnDeliveryDate;

  @Size(max = 50, message = "订单金额长度不能超过20")
  @ExcelProperty(value = "订单金额")
  private java.math.BigDecimal orderAmount;

  @Size(max = 50, message = "商品信息--原始数量长度不能超过20")
  @ExcelProperty(value = "商品信息--原始数量")
  private Integer orderQuantity;

  @Size(max = 50, message = "Safe-T索赔原因长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "Safe-T索赔原因")
  private String safeTActionReason;

  @Size(max = 50, message = "Saft-T索赔单号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "Saft-T索赔单号")
  private String safeTClaimId;

  @Size(max = 50, message = "Saft-T索赔状态长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "Saft-T索赔状态")
  private String safeTClaimState;

  @Size(max = 50, message = "Saft-T索赔时间长度不能超过20")
  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "Saft-T索赔时间")
  private java.util.Date safeTClaimCreationTime;

  @Size(max = 50, message = "Safe-T索赔金额长度不能超过20")
  @ExcelProperty(value = "Safe-T索赔金额")
  private java.math.BigDecimal safeTClaimReimbursementAmount;

  @Size(max = 50, message = "退款金额长度不能超过20")
  @ExcelProperty(value = "退款金额")
  private java.math.BigDecimal refundedAmount;

  @Size(max = 50, message = "店铺id长度不能超过20")
  @ExcelProperty(value = "店铺id")
  private Long sid;

  @Size(max = 50, message = "站点长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "站点")
  private String region;
}
